/*
* <p>Copyright： 东软烟草产品研发团队</p>
*/
package com.jkl.entity.po.user;

import java.io.Serializable;
import java.util.List;

import javax.persistence.Id;
import javax.persistence.Table;
import javax.persistence.Transient;

import com.jkl.entity.button.BsButton;
import org.apache.ibatis.type.JdbcType;

import com.jkl.entity.area.BSArea;
import com.jkl.entity.person.BsPerson;
import com.jkl.entity.role.BsRole;

import lombok.Data;
import lombok.experimental.Accessors;
import tk.mybatis.mapper.annotation.ColumnType;

/**
 * <p>
 * 实体
 * <p>
 * <p>
 * 变更说明：ji.k 2018年09月26日实体
 * <p>
 * Date:2018年09月26日
 * 
 * @author ji.k
 * @version 1.0
 */
@Data
@Table(name = "bs_user")
@Accessors(chain = true)
public class BSUser implements Serializable {
	/**
	 * 主键ID
	 * 
	 * @mbg.generated
	 */
	@Id
	@ColumnType(jdbcType = JdbcType.INTEGER)
	private Integer rowId;

	/**
	 * 区域ID，关联bs_dept
	 * 
	 * @mbg.generated
	 */
	private Integer areaId;

	/**
	 * 部门名称，关联bs_dept
	 */
	private String deptName;

	/**
	 * 区域，关联bs_area
	 */
	@Transient
	private BSArea bsArea;

	/**
	 * 用户编码
	 * 
	 * @mbg.generated
	 */
	private String userCode;

	/**
	 * 用户名称
	 * 
	 * @mbg.generated
	 */
	private String userName;

	/**
	 * 用户类型：1普通，2专有，3管理员，4虚拟
	 * 
	 * @mbg.generated
	 */
	private Integer userType;

	/**
	 * 人员ID，关联bs_person
	 * 
	 * @mbg.generated
	 */
	private Integer personId;

	/**
	 * 人员，关联bs_person
	 */
	@Transient
	private BsPerson bsPerson;

	/**
	 * 登录密码，加密存储
	 * 
	 * @mbg.generated
	 */
	private String password;

	/**
	 * 状态：1启用，2停用。
	 * 
	 * @mbg.generated
	 */
	private Integer status;

	/**
	 * 角色，关联user_role
	 */
	@Transient
	private List<BsRole> roles;

	@Transient
	private String newPassword;

	@Transient
	private String oldPassword;

	@Transient
	private int pageSize;

	@Transient
	private int currentPage;

	@Transient
	private String personName;

	@Transient
	private Integer deptId;
	/**
	 *  按钮菜单集合
	 */
	@Transient
	private List<BsButton> buttons;
}
